The present invention relates to compression and decompression of signal data using efficient encoding of block floating point representations, and more particularly to block floating point encoding to reduce the numbers of bits representing signal samples to achieve a desired output data rate or a desired quality metric.
Compression of signal data enables more efficient use of resources in signal or image processing applications where it is desirable to maintain accurate information while decreasing the amount of signal data. Compressing the signal data reduces the data storage capacity requirements of a memory or other storage device in the system. Compressing the signal data reduces bandwidth requirements for a data transfer interface in the system. Computationally efficient operations for compression and decompression lower the impact on system computing resources and latency.
Block floating point representations in signal processing have an advantage of increasing the dynamic range that can be represented by a limited number of bits. A block floating point representation may cover a wide dynamic range while maintaining accuracy of signal data. In a typical block floating point representation, a common exponent is determined for a group of samples based on the largest magnitude sample in the group. The mantissa for each sample in the group is represented by the number of bits that accommodates the mantissa of the largest sample. The bits representing the common exponent and the mantissas for the group may be packed consecutively to represent compressed samples for the group. Block floating point representations are useful for signal dynamics where the amplitudes fluctuate over time yet neighboring samples have similar amplitudes in a particular group. Several signal types have these dynamics. Examples include pulsed signals that decay over time, such as radar, sonar and ultrasound signals.
The following patents describe compression using block floating point data representations for various applications.
In the U.S. Pat. No. 5,751,771 entitled “Waveform Data Compression Apparatus and Waveform Data Expansion Apparatus,” issued May 12, 1998, Katsumata et al. describe block by block compression of a sampled signal using block floating point representations. For each block of signal samples, a number of arithmetic means are calculated between a pattern of pairs of non-adjacent samples. The arithmetic mean of a pair of samples represents an estimate of the intermediate sample halfway between the pair of samples. The distances between the pairs of samples decreases for the arithmetic means calculated for the block according to a pattern, i.e. the pair of end samples of the block, the end sample and the middle sample in the block, etc. The arithmetic means are subtracted from the corresponding intermediate sample values to form difference samples. The mantissas of difference samples are assigned numbers of bits for encoding based on their index (address) in the block, so that the encoded mantissas for one block have different lengths. The mantissa of last sample in the block is linearly encoded using a fixed number of bits. The exponent for the block is determined using a formula based on the maximum number of left-shifts such that the upper two bits are “01” or “10,” which effectively removes any sign extension bits. The mantissas of the difference samples and the last sample are left-shifted and rounded to remove least significant bits (LSBs) to fit the numbers of bits assigned to the mantissas of the block. The block of compressed data includes the encoded exponent and the encoded mantissas. In other embodiments, other samples in addition to the last sample may be linearly encoded instead of encoding the difference sample. Other embodiments include more complex patterns of mantissa lengths and linear versus difference encoding for samples within the same block. These embodiments include a pattern code for the block indicating the pattern of mantissa lengths, the exponent and linear versus difference encoding based on the sample index in the block.
In the U.S. Pat. No. 6,021,386 entitled “Coding Method and Apparatus for Multiple Channels of Audio Information Representing Three-Dimensional Sound Fields,” issued Feb. 1, 2000, Davis et al. describe block floating point encoding of the transform coefficients of audio signals. A discrete transform such as the Discrete Fourier Transform (DFT) applied to the sampled audio signal produces the transform coefficients. The transform coefficients are grouped into subbands, or blocks, of consecutive transform coefficients. A common exponent for the block is determined based on the largest spectral component in the subband. In one embodiment, groups of subbands are assigned master exponents to increase the dynamic range of the block floating point representation. The master exponent represents a minimum exponent value for all the exponents in the group of subbands and the subband exponent represents the difference between the master exponent and the exponent of the largest transform coefficient in the subband. A quantizer left-shifts the mantissas for the subband in accordance with the subband exponent and the master exponent and truncates LSBs to represent the mantissas with a bit length corresponding to a bit allocation for the subband.
An adaptive bit allocator assigns a number of bits for each subband. In a preferred embodiment, the bit allocation is based on the amplitudes of the spectral components in the subband.
Christensen describes block floating point representations of synthetic aperture radar (SAR) data in the article entitled “Block Floating Point for Radar Data,” IEEE Transactions on Aerospace and Electronic Systems, Vol. 35, No. 1, pp. 308-18, January 1999. The article presents a theoretical analysis of the performance of block floating point representations in terms of signal to noise ratio (SNR) versus encoding parameters such as block size, quantization step size and number of bits for representing the block exponent. The SNR performances of block floating point on SAR data using fixed numbers of bits per block are also presented.
Huneycutt describes a block floating point representation of imaging radar data in the article entitled “Spaceborne Imaging Radar—C Instrument,” in IEEE Transactions on Geoscience and Remote Sensing, Vol. 27, No 2, pp. 164-9, March 1989. The system includes a block floating point quantizer (BFPQ) that encodes 8-bit data samples using the four most significant bits per sample followed by a common exponent for each block of samples.
The following patents and articles describe using floating point representations on a sample by sample basis (in contrast to the block by block basis described above) to compress signal data in various applications.
In the U.S. Pat. No. 5,933,360 entitled “Method and Apparatus for Signal Compression and Processing Using Logarithmic Differential Compression, issued Aug. 3, 1999, Larson describes logarithmic differential compression (LDC) for representing a sampled signal in a floating point format using fewer bits per sample. Signal processing calculations such as filtering are applied to the compressed samples prior to decompression. The logarithmic differential compression includes calculating a first derivative of the signal before or after analog to digital conversion to produce derivative samples. The lower magnitudes of derivative samples allow them to be represented by fewer bits. Each derivative sample is represented in a floating point format having a sign bit, an exponent field and a mantissa field to form a sample of the compressed signal. The lengths of the mantissa field and the exponent field in the floating point representation are the same for all the derivative samples and may be selected to suit a specific application, such as audio and video signals. Since the LDC algorithm is linear, continuous in time and applied on a sample by sample basis, signal processing operations such as filtering and transforms may be applied directly to the compressed data prior to decompression. Since the floating point representation of a LDC sample approximates a logarithmic (base 2), the complexity of hardware or software implementations for signal processing operations on the compressed data can be reduced. For example, a multiplication in the logarithmic domain is performed by adding the LDC samples. The LDC data may be further compressed by applying other techniques of compression, such as run length encoding, Huffman, LZW (Lemple-Ziv-Welch), etc. The LDC method uses the same floating point format for all samples, i.e. the format is not varied over blocks of data. Each LDC sample includes an exponent field and a mantissa field, i.e. the exponent is not shared among the mantissas in a block of encoded data.
The present inventor describes adaptations of block floating point representations for compression of sampled signals for several applications. In the commonly owned U.S. Pat. No. 5,839,100 (the '100 patent) entitled “Lossless and Loss-Limited Compression of Sampled Data Signals,” issued Nov. 17, 1998, the present inventor describes a block floating point encoder applied to derivative samples of a sampled signal. The derivative samples are first or higher order derivatives among consecutive samples of the sampled signal. In one embodiment, the block floating point encoder determines the exponent for each block based on the maximum derivative sample. A Huffman encoder assigns codes to the exponents for the blocks based on the frequency of occurrence of the exponent value. The encoded exponents for a sequence of blocks are packed into an exponent array. A mantissa generator encodes the mantissas for a given block using the number of bits specified by the exponent value for that block. The encoded mantissas are packed into a mantissa array.
Several co-owned US applications include adaptations of block floating point encoding for various types of signals and systems. These include U.S. patent application Ser. No. 12/124,312 entitled, “Compression of Baseband Signals in Base Transceiver Systems,” filed May 21, 2008; U.S. patent application Ser. No. 12/124,541 entitled “Compression of Signals in Base Transceiver Systems,” filed May 21, 2008; U.S. patent application Ser. No. 12/208,839 entitled “Adaptive Compression of Computed Tomography Projection Data,” filed Sep. 11, 2008; U.S. patent application Ser. No. 12/208,835 entitled “Edge Detection for Computed Tomography Projection Data Compression,” filed Sep. 11, 2008; U.S. patent application Ser. No. 12/352,116 entitled “Compression and Storage of Projection Data in a Computed Tomography System,” U.S. patent application Ser. No. 12/352,222 entitled “Compression and Storage of Projection Data in a Rotatable Part of a Computed Tomography System,” filed Jan. 12, 2008, U.S. patent application Ser. No. 12/477,062 entitled “Ultrasound Signal Compression,” filed Jun. 2, 2009; and U.S. patent application Ser. No. 12/494,184 entitled “Post-Beamforming Compression in Ultrasound Systems” filed Jun. 29, 2009,